package bluetooth;


import android.bluetooth.BluetoothAdapter;
import android.content.pm.PackageManager;
import android.widget.Toast;

import com.ecdc.soexample.App;


public class Utils {

//	private static HashMap<Integer, String> serviceTypes = new HashMap();
//	static {
//		// Sample Services.
//		serviceTypes.put(BluetoothGattService.SERVICE_TYPE_PRIMARY, "PRIMARY");
//		serviceTypes.put(BluetoothGattService.SERVICE_TYPE_SECONDARY, "SECONDARY");
//	}
//
//	public static String getServiceType(int type) {
//		return serviceTypes.get(type);
//	}
//
//	// -------------------------------------------
//	private static HashMap<Integer, String> charPermissions = new HashMap();
//	static {
//		charPermissions.put(0, "UNKNOW");
//		charPermissions.put(BluetoothGattCharacteristic.PERMISSION_READ, "READ");
//		charPermissions.put(BluetoothGattCharacteristic.PERMISSION_READ_ENCRYPTED, "READ_ENCRYPTED");
//		charPermissions.put(BluetoothGattCharacteristic.PERMISSION_READ_ENCRYPTED_MITM, "READ_ENCRYPTED_MITM");
//		charPermissions.put(BluetoothGattCharacteristic.PERMISSION_WRITE, "WRITE");
//		charPermissions.put(BluetoothGattCharacteristic.PERMISSION_WRITE_ENCRYPTED, "WRITE_ENCRYPTED");
//		charPermissions.put(BluetoothGattCharacteristic.PERMISSION_WRITE_ENCRYPTED_MITM, "WRITE_ENCRYPTED_MITM");
//		charPermissions.put(BluetoothGattCharacteristic.PERMISSION_WRITE_SIGNED, "WRITE_SIGNED");
//		charPermissions.put(BluetoothGattCharacteristic.PERMISSION_WRITE_SIGNED_MITM, "WRITE_SIGNED_MITM");
//	}
//
//	public static String getCharPermission(int permission) {
//		return getHashMapValue(charPermissions, permission);
//	}
//
//	// -------------------------------------------
//	private static HashMap<Integer, String> charProperties = new HashMap();
//	static {
//
//		charProperties.put(BluetoothGattCharacteristic.PROPERTY_BROADCAST, "BROADCAST");
//		charProperties.put(BluetoothGattCharacteristic.PROPERTY_EXTENDED_PROPS, "EXTENDED_PROPS");
//		charProperties.put(BluetoothGattCharacteristic.PROPERTY_INDICATE, "INDICATE");
//		charProperties.put(BluetoothGattCharacteristic.PROPERTY_NOTIFY, "NOTIFY");
//		charProperties.put(BluetoothGattCharacteristic.PROPERTY_READ, "READ");
//		charProperties.put(BluetoothGattCharacteristic.PROPERTY_SIGNED_WRITE, "SIGNED_WRITE");
//		charProperties.put(BluetoothGattCharacteristic.PROPERTY_WRITE, "WRITE");
//		charProperties.put(BluetoothGattCharacteristic.PROPERTY_WRITE_NO_RESPONSE, "WRITE_NO_RESPONSE");
//	}
//
//	public static String getCharPropertie(int property) {
//		return getHashMapValue(charProperties, property);
//	}
//
//	// --------------------------------------------------------------------------
//	private static HashMap<Integer, String> descPermissions = new HashMap();
//	static {
//		descPermissions.put(0, "UNKNOW");
//		descPermissions.put(BluetoothGattDescriptor.PERMISSION_READ, "READ");
//		descPermissions.put(BluetoothGattDescriptor.PERMISSION_READ_ENCRYPTED, "READ_ENCRYPTED");
//		descPermissions.put(BluetoothGattDescriptor.PERMISSION_READ_ENCRYPTED_MITM, "READ_ENCRYPTED_MITM");
//		descPermissions.put(BluetoothGattDescriptor.PERMISSION_WRITE, "WRITE");
//		descPermissions.put(BluetoothGattDescriptor.PERMISSION_WRITE_ENCRYPTED, "WRITE_ENCRYPTED");
//		descPermissions.put(BluetoothGattDescriptor.PERMISSION_WRITE_ENCRYPTED_MITM, "WRITE_ENCRYPTED_MITM");
//		descPermissions.put(BluetoothGattDescriptor.PERMISSION_WRITE_SIGNED, "WRITE_SIGNED");
//		descPermissions.put(BluetoothGattDescriptor.PERMISSION_WRITE_SIGNED_MITM, "WRITE_SIGNED_MITM");
//	}
//
//	public static String getDescPermission(int property) {
//		return getHashMapValue(descPermissions, property);
//	}
//
//	// 这段代码没看明白，欢迎大神指教
//	private static String getHashMapValue(HashMap<Integer, String> hashMap, int number) {
//		String result = hashMap.get(number);
//		if (TextUtils.isEmpty(result)) {
//			List<Integer> numbers = getElement(number);
//			result = "";
//			for (int i = 0; i < numbers.size(); i++) {
//				result += hashMap.get(numbers.get(i)) + "|";
//			}
//		}
//		return result;
//	}
//
//	/**
//	 * 位运算结果的反推函数10 -> 2 | 8;
//	 */
//	static private List<Integer> getElement(int number) {
//		List<Integer> result = new ArrayList<Integer>();
//		for (int i = 0; i < 32; i++) {
//			int b = 1 << i;
//			if ((number & b) > 0)
//				result.add(b);
//		}
//
//		return result;
//	}
//
//	public static String bytesToHexString(byte[] src) {
//		StringBuilder stringBuilder = new StringBuilder("");
//		if (src == null || src.length <= 0) {
//			return null;
//		}
//		for (int i = 0; i < src.length; i++) {
//			int v = src[i] & 0xFF;
//			String hv = Integer.toHexString(v);
//			if (hv.length() < 2) {
//				stringBuilder.append(0);
//			}
//			stringBuilder.append(hv);
//		}
//		return stringBuilder.toString();
//	}

	/**
	 * 判断设备是否支持ble蓝牙
	 */

	public static boolean isSupportBle() {
		if (!App.context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE)) {
			Toast.makeText(App.context, "设备不支持ble通信", Toast.LENGTH_SHORT).show();
			return false;
		}
		return true;

	}
	public static boolean isOpenBlueTooth(){
		BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
		if(bluetoothAdapter==null){
		return false;	
		}
		
		return bluetoothAdapter.enable();
	}
//	/**
//	 * 加载动画
//	 */
//	public static void  loadAni(View view,int flag){
//		//flag 1 开始 0停止
//		if(flag==1){
//			Animation mAnimation=AnimationUtils.loadAnimation(MyApplication.context, R.anim.zoom_in);
//			view.startAnimation(mAnimation);
//		}else{
//			view.clearAnimation();
//		}
//
//	}
}
